﻿using Funkcje;

namespace AlgorytmyGenetyczne
{
    public class Funkcja : IFunkcja
    {
        private readonly string formula;
        private readonly CompiledFunction funkcja;
        public int LiczbaParametrow { get; private set; }

        public Funkcja(string formula, int liczbaParametrow)
        {
            this.formula = formula;
            this.LiczbaParametrow = liczbaParametrow;
            funkcja = FunctionCompiler.Compile(liczbaParametrow, formula);
        }

        public double wartosc(double[] argumenty)
        {
            return funkcja(argumenty);
        }

        public override string ToString()
        {
            return formula;
        }
    }
}
